/**
 * Project Name:gc.sms.mvn
 * File Name:Employee.java
 * Package Name:com.clps.dev.sms.entity.sm
 * Date:2018-11-28 10:43:50
 * Copyright (c) 2018,http://www.clpsglobal.com/zh/home-cn/ All Rights Reserved.
 *
 */
package com.clps.dev.sms.entity.sm;

import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 
 * ClassName: Employee <br/>
 * Description:Employee.class
 *
 * @author Jack.Huang
 * @version V1.0
 * @since JDK 1.8
   @date:2018-11-28 10:43:50
 */
@Entity
@Table(name="sm_employee")
public class Employee implements java.io.Serializable {

	/**
	 * serialVersionUID:
	 * 
	 * @since JDK 1.8
	 */
	private static final long serialVersionUID = 1L;
	private String empAddress;				//员工地址	
	private String empPinYinName;			//员工拼音
	private Integer empCreateName;			//创建人名
	private String empCreateTime;			//创建时间
	private String empDecription;			//员工描述
	private Integer empDepartmentId;		//员工部门
	private String empeMail;				//员工邮箱
	private String empEnglishName;			//员工英文名
	private String empGender;				//员工职位
	private Integer empId;					//员工编号
	private String empMobile;				//员工电话
	private String empName;					//员工名称
	private String empTel;				    //员工座机
	private String empPhoto;				//员工照片
	private Integer empPositionId;			//员工职位
	private String empStartTime;			//入职日期
	private Integer empStatus;				//员工状态
	private Integer empUpdatedEmployeeName;	//更新人名
	private Timestamp empUpdatedTime;		//更新时间

	public Employee() {
	}

	
	


	/**
	 * Creates a new instance of Employee.
	 *
	 * @param empName
	 * @param empChineseName
	 * @param empEnglishName
	 * @param empPhoto
	 * @param empeMail
	 * @param empPhone
	 * @param empMobile
	 * @param empAddress
	 * @param empGender
	 * @param empPositionId
	 * @param empDepartmentId
	 * @param empRoleId
	 * @param empStatus
	 * @param empStartTime
	 * @param empCreateName
	 * @param empCreateTime
	 * @param empUpdatedEmployeeName
	 * @param empDecription
	 */
	
	public Employee(String empName, String empPinYinName, String empEnglishName, String empPhoto, String empeMail,
			String empTel, String empMobile, String empAddress, String empGender, Integer empPositionId,
			Integer empDepartmentId, Integer empStatus, String empStartTime, Integer empCreateName,
			String empCreateTime, Integer empUpdatedEmployeeName, String empDecription) {
		super();
		this.empName = empName;
		this.empPinYinName = empPinYinName;
		this.empEnglishName = empEnglishName;
		this.empPhoto = empPhoto;
		this.empeMail = empeMail;
		this.empTel = empTel;
		this.empMobile = empMobile;
		this.empAddress = empAddress;
		this.empGender = empGender;
		this.empPositionId = empPositionId;
		this.empDepartmentId = empDepartmentId;
		this.empStatus = empStatus;
		this.empStartTime = empStartTime;
		this.empCreateName = empCreateName;
		this.empCreateTime = empCreateTime;
		this.empUpdatedEmployeeName = empUpdatedEmployeeName;
		this.empDecription = empDecription;
	}





	/**
	 * 
	 * 
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	@Override
	public boolean equals(Object obj) {
		if (this == obj) {
			return true;
		}

		if (this.getClass() != obj.getClass()) {
			return false;
		}

		Employee employee = (Employee) obj;
		return this.empId.equals(employee.getEmpId());
	}

	@Column(name="EMPLOYEE_ADDRESS",length = 50, nullable=false)
	public String getEmpAddress() {
		return this.empAddress;
	}
	/**
	 * empChineseName.
	 *
	 * @return  the empChineseName
	 */
	@Column(name="EMPLOYEE_PINYIN_NAME",length = 50, nullable=false)
	public  String getEmpPinYinName() {
		return empPinYinName;
	}

	/**
	 * empCreateName.
	 *
	 * @return  the empCreateName
	 */
	@Column(name="EMPLOYEE_CREATED_EMPLOYEE_ID",updatable=false,length = 20, nullable=false)
	public  Integer getEmpCreateName() {
		return empCreateName;
	}

	/**
	 * empCreateTime.
	 *
	 * @return  the empCreateTime
	 */
	@Column(name="EMPLOYEE_CREATED_TIME",updatable=false,length = 50, nullable=false)
	public  String getEmpCreateTime() {
		return empCreateTime;
	}

	/**
	 * empDecription.
	 *
	 * @return  the empDecription
	 */
	@Column(name="EMPLOYEE_DECRIPTION",length = 255)
	public  String getEmpDecription() {
		return empDecription;
	}

	
	/**
	 * empDepartmentId.
	 *
	 * @return  the empDepartmentId
	 */
	@Column(name="EMPLOYEE_DEPARTMENT_ID",length = 20)
	public  Integer getEmpDepartmentId() {
		return empDepartmentId;
	}


	@Column(name="EMPLOYEE_EMAIL",length = 50, nullable=false,unique=true)
	public String getEmpeMail() {
		return this.empeMail;
	}


	@Column(name="EMPLOYEE_ENGLISH_NAME",length = 50, nullable=false)
	public String getEmpEnglishName() {
		return this.empEnglishName;
	}

	@Column(name="EMPLOYEE_GENDER",length = 20)
	public String getEmpGender() {
		return this.empGender;
	}

	
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="EMPLOYEE_ID",length = 20, nullable=false)
	public Integer getEmpId() {
		return this.empId;
	}


	@Column(name="EMPLOYEE_MOBILE",length = 50)
	public String getEmpMobile() {
		return this.empMobile;
	}


	@Column(name="EMPLOYEE_NAME",length = 50, nullable=false)
	public String getEmpName() {
		return this.empName;
	}

	@Column(name="EMPLOYEE_TEL",length = 50, nullable=false)
	public String getEmpTel() {
		return this.empTel;
	}

	/**
	 * empPhoto.
	 *
	 * @return  the empPhoto
	 */
	@Column(name="EMPLOYEE_PHOTO_PATH",length = 255)
	public  String getEmpPhoto() {
		return empPhoto;
	}

	/**
	 * empPositionId.
	 *
	 * @return  the empPositionId
	 */
	@Column(name="EMPLOYEE_POSITION_ID",length = 20, nullable=false)
	public  Integer getEmpPositionId() {
		return empPositionId;
	}

	/**
	 * empStartTime.
	 *
	 * @return  the empStartTime
	 */
	@Column(name="EMPLOYEE_ONBOARDED_DATE",updatable=false,length = 50)
	public  String getEmpStartTime() {
		return empStartTime;
	}

	/**
	 * empStatus.
	 *
	 * @return  the empStatus
	 */
	@Column(name="EMPLOYEE_EMPLOYEE_STATUS_ID",length = 20, nullable=false)
	public  Integer getEmpStatus() {
		return empStatus;
	}

	/**
	 * empUpdatedEmployeeName.
	 *
	 * @return  the empUpdatedEmployeeName
	 */
	@Column(name="EMPLOYEE_UPDATED_EMPLOYEE_ID",length = 20, nullable=false)
	public  Integer getEmpUpdatedEmployeeName() {
		return empUpdatedEmployeeName;
	}

	@Column(name="EMPLOYEE_UPDATED_TIME",columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
	public Timestamp getEmpUpdatedTime() {
		return this.empUpdatedTime;
	}

	/**
	 * 
	 * 
	 * @see java.lang.Object#hashCode()
	 */
	@Override
	public int hashCode() {
		return this.empId;
	}

	public void setEmpAddress(String empAddress) {
		this.empAddress = empAddress;
	}

	
	/**
	 * empChineseName.
	 *
	 * @param   empChineseName    the empChineseName to set
	 */
	public  void setEmpPinYinName(String empPinYinName) {
		this.empPinYinName = empPinYinName;
	}


	/**
	 * empCreateName.
	 *
	 * @param   empCreateName    the empCreateName to set
	 */
	public  void setEmpCreateName(Integer empCreateName) {
		this.empCreateName = empCreateName;
	}



	/**
	 * empCreateTime.
	 *
	 * @param   empCreateTime    the empCreateTime to set
	 */
	public  void setEmpCreateTime(String empCreateTime) {
		this.empCreateTime = empCreateTime;
	}


	/**
	 * empDecription.
	 *
	 * @param   empDecription    the empDecription to set
	 */
	public  void setEmpDecription(String empDecription) {
		this.empDecription = empDecription;
	}

	/**
	 * empDepartmentId.
	 *
	 * @param   empDepartmentId    the empDepartmentId to set
	 */
	public  void setEmpDepartmentId(Integer empDepartmentId) {
		this.empDepartmentId = empDepartmentId;
	}


	public void setEmpeMail(String empeMail) {
		this.empeMail = empeMail;
	}

	

	public void setEmpEnglishName(String empEnglishName) {
		this.empEnglishName = empEnglishName;
	}





	public void setEmpGender(String empGender) {
		this.empGender = empGender;
	}





	public void setEmpId(Integer empId) {
		this.empId = empId;
	}


	public void setEmpMobile(String empMobile) {
		this.empMobile = empMobile;
	}


	public void setEmpName(String empName) {
		this.empName = empName;
	}


	public void setEmpTel(String empTel) {
		this.empTel = empTel;
	}

	

	/**
	 * empPhoto.
	 *
	 * @param   empPhoto    the empPhoto to set
	 */
	public  void setEmpPhoto(String empPhoto) {
		this.empPhoto = empPhoto;
	}


	/**
	 * empPositionId.
	 *
	 * @param   empPositionId    the empPositionId to set
	 */
	public  void setEmpPositionId(Integer empPositionId) {
		this.empPositionId = empPositionId;
	}


	/**
	 * empStartTime.
	 *
	 * @param   empStartTime    the empStartTime to set
	 */
	public  void setEmpStartTime(String empStartTime) {
		this.empStartTime = empStartTime;
	}

	/**
	 * empStatus.
	 *
	 * @param   empStatus    the empStatus to set
	 */
	public  void setEmpStatus(Integer empStatus) {
		this.empStatus = empStatus;
	}


	/**
	 * empUpdatedEmployeeName.
	 *
	 * @param   empUpdatedEmployeeName    the empUpdatedEmployeeName to set
	 */
	public  void setEmpUpdatedEmployeeName(Integer empUpdatedEmployeeName) {
		this.empUpdatedEmployeeName = empUpdatedEmployeeName;
	}


	public void setEmpUpdatedTime(Timestamp empUpdatedTime) {
		this.empUpdatedTime = empUpdatedTime;
	}





	/**
	 * 
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "Employee [empAddress=" + empAddress + ", empPinYinName=" + empPinYinName + ", empCreateName="
				+ empCreateName + ", empCreateTime=" + empCreateTime + ", empDecription=" + empDecription
				+ ", empDepartmentId=" + empDepartmentId + ", empeMail=" + empeMail + ", empEnglishName="
				+ empEnglishName + ", empGender=" + empGender + ", empId=" + empId + ", empMobile=" + empMobile
				+ ", empName=" + empName + ", empTel=" + empTel + ", empPhoto=" + empPhoto + ", empPositionId="
				+ empPositionId + ", empStartTime=" + empStartTime + ", empStatus=" + empStatus
				+ ", empUpdatedEmployeeName=" + empUpdatedEmployeeName + ", empUpdatedTime=" + empUpdatedTime + "]";
	}
	
	
}
